import {BasePage, BaseColumn} from "../../../../ts/type";
import {replace, stampToDatetimeText} from "../../../../ts/util";
import {h} from "vue";

export let entityColumnColumnInit = (page: BasePage) => {
    page.columns.push(replace(new BaseColumn('index', ''), {
        width: 60
    }))
    page.columns.push(replace(new BaseColumn('id', 'ID'), {
        sorter: 'default',
        defaultSortOrder: 'descend',
        width: 80
    }))
// field column auto
// #bind.field.tableCode#
    page.columns.push(new BaseColumn('tableCode', '实体编码'))
// $bind.field.tableCode$

// #bind.field.columnType#
    page.columns.push(new BaseColumn('columnType', '字段数据类型'))
// $bind.field.columnType$

// #bind.field.columnLength#
    page.columns.push(new BaseColumn('columnLength', '字段长度限制'))
// $bind.field.columnLength$

// #bind.field.columnPrecision#
    page.columns.push(new BaseColumn('columnPrecision', '数字位数'))
// $bind.field.columnPrecision$

// #bind.field.columnScale#
    page.columns.push(new BaseColumn('columnScale', '小数精度'))
// $bind.field.columnScale$

// #bind.field.columnNullable#
    page.columns.push(new BaseColumn('columnNullable', '字段null'))
// $bind.field.columnNullable$

// #bind.field.fieldName#
    page.columns.push(new BaseColumn('fieldName', '属性名称'))
// $bind.field.fieldName$

// #bind.field.columnName#
    page.columns.push(new BaseColumn('columnName', '字段名称'))
// $bind.field.columnName$

// #bind.field.methodName#
    page.columns.push(new BaseColumn('methodName', '方法名称'))
// $bind.field.methodName$

// #bind.field.simpleType#
    page.columns.push(new BaseColumn('simpleType', '属性简单类型'))
// $bind.field.simpleType$

// #bind.field.fullType#
    page.columns.push(new BaseColumn('fullType', '属性完整类型'))
// $bind.field.fullType$

// #bind.field.remark#
    page.columns.push(new BaseColumn('remark', '属性备注'))
// $bind.field.remark$

// #bind.field.dataOrder#
    page.columns.push(new BaseColumn('dataOrder', '数据库排序'))
// $bind.field.dataOrder$

// #bind.field.searchOrder#
    page.columns.push(new BaseColumn('searchOrder', '列表查询排序'))
// $bind.field.searchOrder$

// #bind.field.formOrder#
    page.columns.push(new BaseColumn('formOrder', '弹窗排序'))
// $bind.field.formOrder$

// #bind.field.pageColumnOrder#
    page.columns.push(new BaseColumn('pageColumnOrder', '列表排序'))
// $bind.field.pageColumnOrder$

// #bind.field.searchExist#
    page.columns.push(new BaseColumn('searchExist', '搜素是否启用'))
// $bind.field.searchExist$

// #bind.field.saveExist#
    page.columns.push(new BaseColumn('saveExist', '新增是否启用'))
// $bind.field.saveExist$

// #bind.field.updateExist#
    page.columns.push(new BaseColumn('updateExist', '更新是否启用'))
// $bind.field.updateExist$

// #bind.field.detailExist#
    page.columns.push(new BaseColumn('detailExist', '详情是否启用'))
// $bind.field.detailExist$

// #bind.field.pageColumnExist#
    page.columns.push(new BaseColumn('pageColumnExist', '列表是否启用'))
// $bind.field.pageColumnExist$

// #bind.field.fieldCode#
    page.columns.push(new BaseColumn('fieldCode', '字段编码'))
// $bind.field.fieldCode$

// field label auto
// #bind.field.tableCode#
    page.columns.push(new BaseColumn('tableCodeLabel', '表名'))
// $bind.field.tableCode$

    page.columns.push(new BaseColumn('createBy', '创建人'))
    page.columns.push(new BaseColumn('updateBy', '修改人'))
    page.columns.push(replace(new BaseColumn('createTime', '创建时间'), {
        render: (row: any) => {
            return h('span', stampToDatetimeText(row.createTime))
        }
    }))
    page.columns.push(replace(new BaseColumn('updateTime', '修改时间'), {
        render: (row: any) => {
            return h('span', stampToDatetimeText(row.updateTime))
        }
    }))
}